package sistemas.deudores;

import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Emmanuel Arias
 */
public class Persona {

    String Nombre;
    String Apellido;
    int DNI;
    String Domicilio;
    int Telefono;
    int Celular;
    DataBase bd = new DataBase();
//Constructor. Se agrega los datos al objeto Persona, siempre se debe hacer esto al principio

    public void Persona(String nombre, String apellido, String domicilio, int dni, int telefono, int celular) {
        this.Nombre = nombre;
        this.Apellido = apellido;
        this.DNI = dni;
        this.Domicilio = domicilio;
        this.Telefono = telefono;
        this.Celular = celular;
    }
//Funcion que agrega una persona a la base de datos

    public void AgregarPersona() {

        try {
            //Inserta una persona en la tabla persona
            String sql = "INSERT INTO personas(nombre, apellido, dni, domicilio, telefono, celular) VALUES (" + this.Nombre + ", " + this.Apellido + ", " + this.DNI + ", " + this.Domicilio + ", " + this.Telefono + ", " + this.Celular + ")";
            bd.Conectar();
            bd.stmt.executeQuery(sql);
            System.out.println("Se agrego correctamente una nueva persona");
        } catch (SQLException ex) {
            System.out.println(ex);
        } finally {
            bd.Desconectar();
        }

    }
//Elimina un registro de la base de datos, aquel que coincide con el DNI

    public void BorrarPersona(int dni) {

        try {
            String sql = "DELETE FROM personas WHERE dni = " + dni + ")";
            bd.Conectar();
            bd.stmt.executeQuery(sql);
            System.out.println("Se Elimino Correctamente la persona");
        } catch (SQLException ex) {
            System.out.println(ex);
        } finally {
            bd.Desconectar();
        }
    }
//Muestra todas las personas de la tabla personas

    public ResultSet MostrarPersonas() {
        ResultSet result = null;
        String sql = "SELECT * FROM personas";
        try {
            bd.Conectar();
            result = (ResultSet) bd.stmt.executeQuery(sql);
        } catch (SQLException ex) {
            System.out.println(ex);
        } finally {
            bd.Desconectar();
            return (ResultSet) result;
        }
    }
//Muestra solo el registro que coincide con el DNI

    public ResultSet MostrarPersona(int dni) {
        ResultSet result = null;
        String sql = "SELECT * FROM personas WHERE dni = " + dni;
        try {
            bd.Conectar();
            result = (ResultSet) bd.stmt.executeQuery(sql);
        } catch (SQLException ex) {
            System.out.println(ex);
        } finally {
            bd.Desconectar();
            return (ResultSet) result;
        }
    }
}
